home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-2.iso / os2 / nmfw201.zip / NMFWD.DOC < prev    next >
Text File  |  1995-11-09  |  23KB  |  573 lines

  1. ******************************************************************************
  2. *                                                                            *
  3. *                                                                            *
  4. *                   **   ** **   ** ******* **   ** *****                    *
  5. *                   ***  ** *** ***  **   * **   **  ** **                   *
  6. *                   **** ** *******  ** *   **   **  **  **                  *
  7. *                   ** **** *******  ****   ** * **  **  **                  *
  8. *                   **  *** ** * **  ** *   *******  **  **                  *
  9. *                   **   ** **   **  **     *** ***  ** **                   *
  10. *                   **   ** **   ** ****     *   *  *****                    *
  11. *                                                                            *
  12. *                                                                            *
  13. *                  A powerful Multi-Robot for Maximus/Squish                 *
  14. *                                                                            *
  15. *                                                                            *
  16. ******************************************************************************
  17. *                                                                            *
  18. *                 (C) Copyright 1991-1995  Alberto Pasquale                  *
  19. *                                                                            *
  20. *                   A L L   R I G H T S   R E S E R V E D                    *
  21. *                                                                            *
  22. ******************************************************************************
  23. *                                                                            *
  24. *   NmFwd is NOT free-software, it is distributed under the ShareWare        *
  25. *   concept !  If you regularly use it, you should register.                 *
  26. *   See REGISTER.Doc for details on how to register your copy.               *
  27. *                                                                            *
  28. ******************************************************************************
  29. *                                                                            *
  30. *   How to contact the author:  Alberto Pasquale of 2:332/504@fidonet        *
  31. *                               Viale Verdi 106                              *
  32. *                               41100 Modena                                 *
  33. *                               Italy                                        *
  34. *                                                                            *
  35. ******************************************************************************
  36.  
  37.  
  38.  
  39.                            NetMail Forward ver. 2.01
  40.  
  41.  
  42.  
  43.                                    LICENSE
  44.  
  45.          See License.doc.
  46.  
  47.  
  48.  
  49.          Main characteristics:
  50.  
  51.          - To be used with Squish mail processor and Maximus 3.xx CBCS
  52.            (Trademarks of Lanius Corporation).
  53.            A BinkleyTerm (TradeMark of Bit Bucket Software) style outbound
  54.            is required for some features.
  55.  
  56.          - Works on *.MSG or SQUISH netmail area.
  57.  
  58.          - Total or partial forward of NetMail area to (Co)SysOp's point.
  59.  
  60.          - Selective Flag (Crash, Direct) Stripping.
  61.  
  62.          - 3D and 4D point handling (even mixed).
  63.  
  64.          - Boss Routing capability to BossRoute all the crash and direct
  65.            messages addressed to points that are not found in your V7
  66.            nodelist or have a null phone number.
  67.  
  68.          - Point Remapping based on To-Name.
  69.  
  70.          - FileAttach forwarding between points in a dedicated directory,
  71.            with optional automatic file-killing after configured time.
  72.  
  73.          - Automatic Upload for Points via NetMail Robot.
  74.  
  75.          - Complete User Management functions via NetMail Robot (Max 3.xx).
  76.  
  77.          - Complete File Management functions via NetMail Robot (Max 3.xx),
  78.            with flexible privilege and keys handling.
  79.  
  80.          - Automatic (internal) filebase update.
  81.  
  82.          - Areafix functions for Squish.Cfg.
  83.  
  84.          - Return To Sender functions to stop messages addressed to
  85.            unlisted nodes and routed echomail (based on V7 nodelist).
  86.  
  87.          - Return Receipt generation for messages that have the RRQ
  88.            flag set or the "*RR*" string in their subject (standard
  89.            proposed by Alex Palmese of 2:335/317).
  90.  
  91.  
  92.          * This program uses the MsgAPI code by Scott J. Dudley.
  93.          * Squish is a trademark of Lanius Corporation.
  94.  
  95.  
  96.  
  97.  
  98.                                 INSTALLATION
  99.  
  100.  
  101.          1) OS/2: make sure you have the MSGAPI32.DLL in your libpath.
  102.             It can be found in the Squish distribution archive.
  103.  
  104.             DOS: make sure you have the DOS4GW.EXE dos extender in your
  105.             path. It is included in the archives of major releases of
  106.             NmFwd.
  107.  
  108.          2) Edit nmfwd.cfg following the comments in it.
  109.  
  110.          3) Edit your batch file in order to call nmfwd BEFORE netmail
  111.             packing.
  112.  
  113.             Example 1 (two pass):
  114.  
  115.                      Squish In Out
  116.                      NmFwd
  117.                      Squish Squash -sNrm
  118.  
  119.             Example 2 (one pass):
  120.  
  121.                      Squish In Out Squash -o -sNrm
  122.                      NmFwd
  123.                      Squish Squash -sNrm
  124.  
  125.             Note: - The -o switch prevents squish from packing netmail
  126.                     before Nmfwd has a chance to process it.
  127.                   - You may need additional calls to squish to process
  128.                     echomail generated locally.
  129.  
  130.             Example 3 (separate echo and netmail routing, SqPrv local
  131.                        echomail processor and Nef tic processor used):
  132.  
  133.             sqrem
  134.             squish in out squash -sECHO -o
  135.             nef
  136.             squnrem
  137.             squish in
  138.             sqprv
  139.             squish out squash -sECHO -o
  140.             nmfwd
  141.             squish squash -sNET
  142.  
  143.  
  144.  
  145.                            Command line switches
  146.  
  147.             -c<cfgfile>
  148.             -l<logfile>
  149.  
  150.             Example: NMFWD -cc:\max\nmfwd.cfg -lc:\log\nmfwd.log
  151.  
  152.  
  153.  
  154.                                 Errorlevels
  155.  
  156.               0 - All OK.
  157.               1 - Help requested
  158.               3 - Abnormal Termination.
  159.               4 - Cfg Error.
  160.               9 - Error accessing Maximus PRM file.
  161.              10 - Error updating/accessing FileBase.
  162.             128 - Too many new messages (*.MSG).
  163.                   The current limit (providing there is enough free memory)
  164.                   is of 32768 messages numbered between 1 and 65535.
  165.             251 - Config file not found.
  166.             252 - Error on command line.
  167.             253 - MsgApi error.
  168.             254 - Can't open Log file.
  169.             255 - Out of memory.
  170.  
  171.  
  172.                              CONFIGURATION FILE
  173.  
  174.  
  175.          NmFwd requires a configuration file (defaults to
  176.          NmFwd.Cfg). Before using NmFwd you should edit this file,
  177.          following the comments in the sample one.
  178.  
  179.          The names of the various parameters are NOT case sensitive.
  180.          Items in square brackets ([]) are optional.
  181.  
  182.  
  183.  
  184.                               OVERALL OPERATION
  185.  
  186.  
  187.          To speed up netmail scanning, NmFwd scans only new messages. To
  188.          accomplish this, it uses an advanced algorithm for *.MSG (the
  189.          necessary information is stored in the NMFWDDIR.DAT located in
  190.          the related directory) and the UID (Unique ID) for the Squish
  191.          base (stored in the <netmail>.NFD file).
  192.  
  193.          In the case you change a message after it has been processed
  194.          (Squish base), it will not be rescanned. So, if you want it
  195.          processed, you must copy then change, not simply change the
  196.          message.
  197.  
  198.          All the messages addressed to your points are directly packed
  199.          to *.?ut in the OUTBOUND.SQ by NmFwd. This is necessary to
  200.          allow correct operations of the Netmail Forwarding functions in
  201.          a mixed 3D-4D environment and for the BossRoute option.
  202.  
  203.  
  204.  
  205.                                 FLAGS HANDLING
  206.  
  207.          If the original message has one of the following flags
  208.          (FileRequest, UpdateRequest), the forwarded one will have a
  209.          two letter upper-case symbol on the first line (FR, UR).
  210.  
  211.          If a Crash message comes from a point authorized to send DM
  212.          only, the Hold attribute is set in order to change the Crash
  213.          flavour to Direct (Squish handles the sum of Crash and Hold
  214.          as Direct). The forwarded copy will have a "cm" lower-case
  215.          symbol on the first line of the message.
  216.  
  217.          If a Crash message comes from a system that is not authorized
  218.          to send neither Crash nor Direct mail, the crash flag will be
  219.          reset and a "cm" symbol will be inserted in forwarded copies.
  220.  
  221.          If a Direct message (Crash and Hold flags set) comes from a
  222.          system that is not authorized, the crash and hold flags will
  223.          be reset and the "dm" symbol will be inserted in forwarded
  224.          copies.
  225.  
  226.  
  227.  
  228.                       USER MANAGEMENT COMMANDS
  229.  
  230.  
  231.          You must send a private net-mail message to your robot, using
  232.          the requested password as subject (see the .cfg for details).
  233.          The Syntax of commands (to be put in the text) is:
  234.  
  235.          Username[,Username,Username ...] = Action[,Action, Action ...]
  236.  
  237.          You can list a maximum of 30 Usernames and 30 Actions per
  238.          command. You can use "(<acs>)" as a valid Username
  239.          (where <acs> is a Maximus 3.xx access string).
  240.  
  241.          Examples:
  242.  
  243.          (Extra|Normal/EFP) = list
  244.  
  245.          Requests a list of users that have at least the "Extra"
  246.          privilege or the "Normal" one together with the E,F,P
  247.          keys.
  248.  
  249.  
  250.          (=twit) = Level disgrace
  251.  
  252.          Gives the disgrace privilege to all twit
  253.          users.
  254.  
  255.  
  256.          (0/h) = Level favored
  257.  
  258.          Gives the favored privilege to all users that have the
  259.          h key (except for those that have a privilege above
  260.          MAXLEV).
  261.  
  262.  
  263.          (=disgrace/kj) = Level normal
  264.  
  265.          Gives the normal privilege to all disgrace users that
  266.          have both the k and j keys.
  267.  
  268.  
  269.          All the listed actions will be applied in the listed order
  270.          to all of the listed users.  You can write many commands in
  271.          the same message, provided they are separated by a <CR>.
  272.          Every command may be more than 80 chars but it cannot contain
  273.          carriage returns.
  274.  
  275.          In the case you are unsure whether your message editor really
  276.          inserts carriage returns between long command lines, just
  277.          leave a blank line between any two commands.
  278.  
  279.  
  280.          Examples:
  281.  
  282.          Albert MacGiver = Level Normal
  283.          Franz Cormack, Robert Harris = Level Extra, Keys net
  284.  
  285.          The available actions are:
  286.  
  287.          (The MaxLev option in .cfg allows to inhibit the action on
  288.          higher privileges)
  289.  
  290.  
  291.          Level <level>        - set the <level> privilege.
  292.                                 <level> can be any level name
  293.                                 defined in Maximus Access.Ctl or
  294.                                 a legal level number.
  295.  
  296.                               E.g.
  297.  
  298.                                 Level Normal
  299.                                 Level 55
  300.  
  301.          Report               - give full report on user record
  302.                                 "Permanent" records are marked with a '@'
  303.                                 before the user name.
  304.                                 "Deleted" records are marked with a '#'
  305.                                 before the user name.
  306.  
  307.          List                 - list username with his privilege and
  308.                                 keys
  309.  
  310.          Kill                 - Mark the user record as deleted
  311.  
  312.          Avatar               - Set Avatar screen mode
  313.  
  314.          Ansi                 - Set ANSI screen mode
  315.  
  316.          TTY                  - Set TTY screen mode
  317.  
  318.          City <cityname>      - set the user city
  319.  
  320.          Password <password>  - set the user password.
  321.                                 If Maximus is configured to use
  322.                                 encrypted passwords, the new
  323.                                 password will be encrypted the
  324.                                 next time maximus accesses the
  325.                                 user record.
  326.  
  327.          Phone <userphone>    - set the user telephone
  328.  
  329.          Alias <useralias>    - set the user alias
  330.  
  331.          Help <helplevel>     - set the user help level
  332.                                 (Expert|Regular|Novice)
  333.  
  334.          CLS <yes|no>         - set the "Clear Screen allowed" flag
  335.  
  336.          UsedMax <yes|no>     - set the "Not first-time user" flag
  337.  
  338.          IbmChars <yes|no>    - set the IBM graphics flag
  339.  
  340.          RIP <yes|no>         - set the RIP graphics flag
  341.  
  342.          MaxEd <yes|no>       - set the MaxEd full screen editor flag
  343.  
  344.          More <yes|no>        - set the More flag
  345.  
  346.          InUserList <yes|no>  - set the "Show in UserList" flag
  347.  
  348.          Tabs <yes|no>        - set the "Tabs allowed" flag
  349.  
  350.          Nerd <yes|no>        - set the Nerd flag (don't sound when
  351.                                 yelling)
  352.  
  353.          ChatAvail <yes|no>   - set the "Available for Chat" flag
  354.  
  355.          HotKeys <yes|no>     - set the "Uses HotKeys" flag
  356.  
  357.          FSReading <yes|no>   - set the "Full Screen Reading" flag
  358.  
  359.          Perm <yes|no>        - set the "User is PERManent" flag
  360.  
  361.          Language <langname>  - select the language
  362.  
  363.          Nulls <nnulls>       - select the number of nulls
  364.  
  365.          Up   <[+|-]upK>
  366.          Down <[+|-]downK>    - set the total up/download in KiloBytes,
  367.                                 optional +|- to add|subtract to|from
  368.                                 the total.
  369.  
  370.          UpFiles   <[+|-]n>
  371.          DownFiles <[+|-]n>   - set the total number of files
  372.                                 up/downloaded, optional +|- to
  373.                                 add|subtract to|from the total.
  374.  
  375.          Credit <[+|-]n>
  376.          Debit  <[+|-]n>      - set the user credit/debit (n in 0..65535),
  377.                                 optional +|- to add|subtract
  378.                                 to|from the total debit.
  379.  
  380.          CreditPoints <[+|-]n>
  381.          DebitPoints  <[+|-]n> - set the user allocated/used points,
  382.                                  optional +|- to add|subtract
  383.                                  to|from the total.
  384.  
  385.          Keys [+]<setkeys>[-<resetkeys>] - set/reset the listed keys;
  386.                                 e.g. Keys abc     set keys a, b, c
  387.                                      Keys -abc    reset keys a, b, c
  388.                                      Keys abc-de  set keys a, b, c;
  389.                                                   reset keys d, e.
  390.                                      Keys +abc-de set keys a, b, c;
  391.                                                   reset keys d, e.
  392.  
  393.          ExpDate <expdate>  - set the Expiration date (dd-mm-yy),
  394.                               set the "Expire by date" flag and reset
  395.                               the "Expire by minutes" flag. If no
  396.                               <expdate> is given, reset the "Expire
  397.                               by date" flag. Example:
  398.                               ExpDate 13-May-92
  399.                               ExpDate 13-May-1992
  400.                               ExpDate 13-05-1992
  401.                               ExpDate 13-05-92 (Expire on May 13th 92)
  402.  
  403.          ExpMins <expmins>  - set the Expiration minutes, set the
  404.                               "Expire by minutes" flag and reset the
  405.                               "Expire by date" flag.
  406.                               If no <expmins> is given, reset the
  407.                               "Expire by mins" flag.
  408.  
  409.          ExpNone            - Reset Expire mode flags (ExpAxe and
  410.                               ExpDemote)
  411.  
  412.          ExpDemote <Priv>   - set the Expire->Demote flag and Priv
  413.                               level to demote to.
  414.  
  415.          ExpAxe             - set the Expire->Axe flag
  416.  
  417.          Append             - append a new user record: a default one
  418.                               will be appended. Obviously this must be
  419.                               the first command and can be followed by
  420.                               other commands specifying new parameters
  421.                               for the user. The default is:
  422.  
  423.                               Privilege: 0
  424.                               Help: Novice
  425.                               Screen mode: TTY
  426.                               Language: The first.
  427.                               Columns: 80
  428.                               Rows: 24
  429.                               UsedMax: No
  430.                               MaxEd: Yes
  431.                               More: No
  432.                               HotKeys: No
  433.                               IbmChars: No
  434.                               RIP: No
  435.                               Tabs: No
  436.                               CLS: No
  437.                               FSReading: No
  438.                               All other fields are zeroed.
  439.  
  440.  
  441.  
  442.  
  443.                                  FILE MANAGEMENT
  444.  
  445.  
  446.          See FMAN.HLP and NMFWD.CFG for details on the FileManagement
  447.          Commands.
  448.  
  449.          OS/2 NOTE:
  450.  
  451.          The Touch command and all the FileManager functions use
  452.          the Maximus 3.xx convention for the file dates on HPFS.
  453.  
  454.          The modification date is shown in reports (just as with
  455.          the OS/2 DIR command), the creation one is used as the
  456.          "upload date" to compute the "age" of files.
  457.  
  458.          Thus the output of a "newfiles 10" command could show
  459.          files with dates much older than 10 days, provided they
  460.          have been uploaded (or touched) during the last 10
  461.          days.
  462.          
  463.  
  464.  
  465.  
  466.                                      AREAFIX
  467.  
  468.  
  469.          Integrated AREAFIX: works on SQUISH configuration file (No
  470.          Areas.bbs). Works OK with 3D (fakenet) or 4D points.
  471.          To link/unlink areas: Send a netmail message to AreaFix using
  472.          your password as the subject. You can add "-Q", "-L" and "-R"
  473.          in the subject field, after the password.
  474.  
  475.          -Q: to request a list of available areas.
  476.          -L: to request a sysop-defined message (usually a description
  477.              of some or all areas.
  478.          -R: to request the rescan of the specified areas (SqPrv
  479.              areas are automatically excluded from rescan).
  480.  
  481.          In the body of the message, you must list the TAGS of the
  482.          areas you want to link or rescan. If you want to unlink an
  483.          area, preceed the area name with a '-' (e.g. -CHATTER). More
  484.          than one area tag can be put on the same line.
  485.  
  486.          The password and area tags are not case-sensitive.
  487.  
  488.          See Nmfwd.Cfg for more details.
  489.  
  490.  
  491.  
  492.                               RETURN TO SENDER
  493.  
  494.  
  495.          Integrated ReturnToSender based on V7 Nodelist, such as the
  496.          one generated by FastLst. RTS checks the originating and
  497.          destination addresses of all new netmail messages.
  498.  
  499.          If the originating address is not found, then a short warning
  500.          for the addressee is inserted in the message text.
  501.  
  502.          If the destination address is not found, then the message is
  503.          stopped (marked as sent) and a short message is sent to the
  504.          sender.
  505.  
  506.          If both the addresses are not found, then the message is
  507.          stopped and a short message is sent to the SysOp.
  508.  
  509.          Note: for points of other systems, the Boss address
  510.          (.0) is checked; for points of the local Boss, the
  511.          entire 4D address is checked, so you need to have your
  512.          points in the V7 nodelist (usually this is not a
  513.          problem since the points must already be in a local
  514.          nodelist in order to have a session password).
  515.  
  516.          Warning: RTS does not check the existence of a point
  517.          when applying the "name remapping" configured with the
  518.          "Remap" statement in NmFwd.Cfg or Squish.Cfg.
  519.  
  520.          An optional check on Routed Echomail is available: if an
  521.          echomail message not addressed to your node is found in the
  522.          netmail area, than it is stopped (marked as sent) and the
  523.          sysop of the originating node is alerted.
  524.  
  525.  
  526.  
  527.  
  528.                              RETURN RECEIPT REQUEST
  529.  
  530.  
  531.          You can enable the generation of Return Receipts for netmail
  532.          messages addressed to your system or your points that come in
  533.          with the Return-Receipt-Request flag set or with the "*RR*"
  534.          (case sensitive) string in their subject.
  535.  
  536.          When RRQ is active in the configuration file, if a netmail
  537.          message requests a return receipt, a short receipt is sent to
  538.          the sender, the RRQ flag is stripped from the original
  539.          message, the "*RR*" string is deleted from the subject if
  540.          present, an informative line is added at the head of the
  541.          message body to inform the addressee that a return receipt
  542.          was sent.
  543.  
  544.          If the sender is unlisted and "RTS" is active, than no action
  545.          is taken on messages with RRQ.
  546.  
  547.          The "*RR*" string in the subject is an easy way to ask for
  548.          Return-Receipt when the RRQ flag cannot easily be set by the
  549.          message editor or is stripped by some mail processor.
  550.  
  551.  
  552.  
  553.                                MISCELLANEOUS INFO
  554.  
  555.  
  556.          When UseFB is active, the NewFiles, Dir * and Cont * commands
  557.          of the file-manager use the file-base files instead of looking
  558.          into FILES.BBS and directories.
  559.  
  560.          On fast machines, after generating lots of outbound packets,
  561.          NmFwd will automatically pause for a few seconds reporting
  562.          "Waiting <nn> seconds". This is necessary to avoid routing
  563.          mistaked when Squish is invoked just after NmFwd. The same
  564.          thing happens before Nmfwd invokes Squish for rescanning an
  565.          area in response to a areafix rescan request.
  566.  
  567.          NmFwd recognizes SqPrv areas (SqPrv is another program
  568.          of mine) and does NOT allow rescanning.
  569.  
  570.  
  571.  
  572.  
  573.